home *** CD-ROM | disk | FTP | other *** search
/ Internet Info 1994 March / Internet Info CD-ROM (Walnut Creek) (March 1994).iso / networking / ip / ka9q / xobbs.arc / xomisc.c < prev    next >
C/C++ Source or Header  |  1989-05-03  |  2KB  |  104 lines

  1. /* XOMISC.C  miscellaneous routines for W2XO bbs Jim Durham, W2XO 10-24-88 */
  2. /* Version 1.0 */
  3. /* Code released to the amateur radio community*/
  4.  
  5. #include "xobbs.h"
  6.  
  7. fldmatch(arg,fld)       /*match a field with an argument*/
  8.     char *arg, *fld;
  9. {
  10.     register  int i;
  11.  
  12.     for(i=0;i<6;i++)
  13.     {
  14.         if(arg[i] != fld[i])
  15.         {
  16.             if(arg[i] == '\0')
  17.                 return(1);
  18.             else
  19.                 return(0);
  20.         }
  21.     }
  22.     return(1);
  23. }
  24.  
  25.  
  26. indexn(s,t,n)
  27. char s[],t[];
  28. int n;
  29. {
  30.     int i,j,k;
  31.     
  32.         
  33.     for(i=0;s[i]!= '\0'; i++){
  34.         for(j=i,k=0;(t[k]!='\0' && s[j] == t[k]) && (j < n); j++,k++)
  35.             ;
  36.         if(t[k] == '\0')
  37.             return(i);
  38.     }
  39.     return(-1);
  40. }
  41. indexx(s,t)
  42. char s[],t[];
  43. {
  44.     int i,j,k;
  45.     
  46.     for(i=0;s[i]!= '\0'; i++){
  47.         for(j=i,k=0;t[k]!='\0' && s[j] == t[k]; j++,k++)
  48.             ;
  49.         if(t[k] == '\0')
  50.             return(i);
  51.     }
  52.     return(-1);
  53. }
  54.  
  55. stringcpy(s,t,n)
  56.     char *s,*t;
  57.     int n;
  58. {
  59.     int i;
  60.     i=0;
  61.     while((t[i] != ' ') && (i < n)){
  62.         s[i]=t[i];
  63.         i++;
  64.     }
  65.     s[i]='\0';
  66. }
  67.  
  68. sendnames()
  69. {
  70.     static char bbsnam[15][7];
  71.     int i,j,x,flag,ic;
  72.     FILE *fp;
  73.     char s[30];
  74.  
  75.         
  76.     sprintf(prinbuf,"ls %s",fwddir);   /*popen the forwarding directory*/
  77.     fp=popen(prinbuf,"r");
  78.     x=0;                    /*count of places to forward*/
  79.     for(;;){
  80.         i=0;
  81.         while(((ic = getc(fp)) != '\n') && (ic != EOF))   /*read fwd file*/
  82.             s[i++] = ic & 0x7f;
  83.         if(ic == EOF) break;            /*break loop if EOF*/
  84.         s[i] = '\0';                    /*terminate filename*/
  85.     for(j=0;j < strlen(s);j++)    /*terminate the bbsname with \0 */
  86.         if(s[j] == 't'){
  87.             s[j]='\0';
  88.             break;
  89.         }
  90.     flag=0;
  91.     for(j=0;j<15;j++)            /*sort out the bbs names*/
  92.         if(!strcmp(bbsnam[j],s))
  93.             flag=1;
  94.     if(flag == 0) strcpy(bbsnam[x++],s);    /*fill the name array*/
  95.  
  96.             /*now , we have the unique bbs names in an array*/
  97.     }/* for(;;) */
  98.     x=0;
  99.     while(bbsnam[x][0] != '\0')         /*print out the names*/
  100.         sprintf(prinbuf,"%s\n",bbsnam[x++]);
  101.         prinout();
  102.     sndupkil();
  103. }
  104.